Objectif
ONCFM - l’Organisation nationale de lutte contre le
faux-monnayage
Cette institution a pour objectif de mettre en place
des méthodes d’identification des contrefaçons des billets en
euros.
Mission
Une modélisation qui
serait capable d’identifier automatiquement les vrais des faux billets à
partir des caractéristiques géométriques des billets
Déscription de données
Les
caractéristiques géométriques sur un billet :
● length : la
longueur du billet (en mm) ;
● height_left : la hauteur du billet
(mesurée sur le côté gauche, en mm) ;
● height_right : la hauteur du
billet (mesurée sur le côté droit, en mm) ;
● margin_up : la marge
entre le bord supérieur du billet et l’image de celui-ci (en mm) ;
●
margin_low : la marge entre le bord inférieur du billet et l’image de
celui-ci (en mm) ;
● diagonal : la diagonale du billet (en
mm).
Fichier pour paramétrisation
Nous avons un
fichier d’exemple contenant 1 500 billets, qu’on peut utiliser comme bon
pour paramétrer l’algorithme d’identification des contrefaçons des
billets en euros.
Parmi 1 500 billets fournis , 1 000 sont vrais et
500 sont faux ; une colonne a été ajoutée pour préciser la nature du
billet.
Déscription du projet
Le projet est présenté
dans 10 parites (chaque partie dans un onglet correspondant):
-
Présentation du projet
- Préparation de données
- Analyse
descriptive des données
- ACP : Analyse en composantes
principales
- Méthode de prédiction : Régression logistique
-
Méthode de prédiction : K-means
- Comparaison des methodes
-
Conclusion
- Déploiement du Testing
- Algorithmede détection de
faux billets
Dans cette partie on va explorer et traiter le fichier d’exemple afin
de le préparer à l’application des méthodes de clustering et de la
prévision.
Les étapes de ce traitement sont suivantes:
Importation des données
Imputation des données manquantes :
Importation des données
Les premières lignes du fichier d’exemple contenant 1 500 billets :
1 000 sont vrais et 500 sont faux.
La nature de billet est indiquée dans la colonne
is_genuine.
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|---|
| True | 171.81 | 104.86 | 104.95 | 4.52 | 2.89 | 112.83 |
| True | 171.46 | 103.36 | 103.66 | 3.77 | 2.99 | 113.09 |
| True | 172.69 | 104.48 | 103.5 | 4.4 | 2.94 | 113.16 |
| True | 171.36 | 103.91 | 103.94 | 3.62 | 3.01 | 113.51 |
| True | 171.73 | 104.28 | 103.46 | 4.04 | 3.48 | 112.54 |
| True | 172.17 | 103.74 | 104.08 | 4.42 | 2.95 | 112.81 |
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| Length:1500 | Min. :171.0 | Min. :103.1 | Min. :102.8 | Min. :2.980 | Min. :2.270 | Min. :109.5 | |
| Class :character | 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.015 | 1st Qu.:2.990 | 1st Qu.:112.0 | |
| Mode :character | Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | |
| NA | Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.486 | Mean :3.151 | Mean :112.7 | |
| NA | 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.870 | 3rd Qu.:3.310 | 3rd Qu.:113.3 | |
| NA | Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.4 | |
| NA | NA | NA | NA | NA’s :37 | NA | NA |
Dans la description du fichier fourni on découvre
37 données manquantes dans la colonne
margin_low.
1. Imputation des données manquantes
Dans les onglets au-dessous les différentes méthodes de l’imputation
des données manquantes ont été présentés.
L’imputation de ces données sera réalisée par la prevision.
Pour
définir cette prévision on va appliquer la regression linéaire multiple
de “margin_low”
en fonction des autres paramètres
Tout
d’abord on sélectionne les données complétes
Puis, on selectionne
des paramètres géométriques parmi les colonnes du dataframe de notre
sélection
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| Length:1463 | Min. :171.0 | Min. :103.1 | Min. :102.9 | Min. :2.980 | Min. :2.270 | Min. :109.5 | |
| Class :character | 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.015 | 1st Qu.:2.990 | 1st Qu.:112.0 | |
| Mode :character | Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | |
| NA | Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.486 | Mean :3.153 | Mean :112.7 | |
| NA | 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.870 | 3rd Qu.:3.315 | 3rd Qu.:113.3 | |
| NA | Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.3 |
| diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|
| Min. :171.0 | Min. :103.1 | Min. :102.9 | Min. :2.980 | Min. :2.270 | Min. :109.5 | |
| 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.015 | 1st Qu.:2.990 | 1st Qu.:112.0 | |
| Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | |
| Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.486 | Mean :3.153 | Mean :112.7 | |
| 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.870 | 3rd Qu.:3.315 | 3rd Qu.:113.3 | |
| Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.3 |
2. Modèle de la régression linéaire multiple
On crée un modèle de la régression linéaire multiple de ‘margin_low’ en fonction des autres variables. Ce modèle servira à établir une formule de prévision.
##
## Call:
## lm(formula = margin_low ~ diagonal + height_left + height_right +
## margin_up + length, data = billets_sn_sgen)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.47234 -0.31707 -0.04168 0.27353 1.97084
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 22.99484 9.65555 2.382 0.01737 *
## diagonal -0.11106 0.04144 -2.680 0.00744 **
## height_left 0.18412 0.04477 4.113 4.13e-05 ***
## height_right 0.25714 0.04301 5.978 2.84e-09 ***
## margin_up 0.25619 0.06437 3.980 7.23e-05 ***
## length -0.40910 0.01808 -22.627 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4807 on 1457 degrees of freedom
## Multiple R-squared: 0.4773, Adjusted R-squared: 0.4755
## F-statistic: 266.1 on 5 and 1457 DF, p-value: < 2.2e-16
3. Estimation du modele de la régression linéaire multiple
Pour tester la significativité du modèle, nous avons 2 niveaux :
Le coefficient de déterminisation \(R^{2}\) = 48 %
On rappelle que le coefficient de détermination c’est la proportion
de la somme des carrés expliquées sur la somme de carrés totale.
Plus il s’approche à 1 (100%) - plus de variation sera
expliquée par le modèle.
Le test F rapporté au bas du sommaire des résultats de
lm correspond à l’hypothèse nulle d’absence d’effet pour
tous les prédicteurs.
Le p-value = 2.2 \(e^{-16}\) => inférieure au
niveau de confience du test - 0.05(5%)
On peut aussi obtenir un tableau d’ANOVA conventionnel en appliquant
la fonction anova au résultat de notre modèle
## Analysis of Variance Table
##
## Response: margin_low
## Df Sum Sq Mean Sq F value Pr(>F)
## diagonal 1 8.01 8.014 34.678 4.822e-09 ***
## height_left 1 59.82 59.823 258.863 < 2.2e-16 ***
## height_right 1 68.63 68.630 296.972 < 2.2e-16 ***
## margin_up 1 52.73 52.729 228.164 < 2.2e-16 ***
## length 1 118.32 118.316 511.968 < 2.2e-16 ***
## Residuals 1457 336.71 0.231
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Ce tableau indique quelle portion de la somme des écarts au carré est
expliquée par chacun des prédicteurs, ainsi que la portion
résiduelle.
La significativité des paramètres
Un modèle
correct doit avoir des paramètres significatifs.
Cependant, on constate que la variable ‘diogonal’ est moins
significative car son p-value = O.07 (7%)
On a interèt de retirer cette variable de notre formule de la
régression pour que l’erreur de prévision ne soit pas élévée à cause
d’elle.
##
## Call:
## lm(formula = margin_low ~ height_left + height_right + margin_up +
## length, data = billets_sn_sgen)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.54265 -0.31879 -0.04392 0.27593 1.99858
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.26563 7.04828 0.747 0.455
## height_left 0.17795 0.04481 3.971 7.49e-05 ***
## height_right 0.25500 0.04310 5.917 4.09e-09 ***
## margin_up 0.25880 0.06450 4.012 6.32e-05 ***
## length -0.41364 0.01804 -22.930 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4817 on 1458 degrees of freedom
## Multiple R-squared: 0.4748, Adjusted R-squared: 0.4733
## F-statistic: 329.5 on 4 and 1458 DF, p-value: < 2.2e-16
La qualité prèdictive du modèle diminue peut être controlé par
le coefficient de détermination ajusté car cette
fois-ci on considere le nombre de variables explicatives :
dans
notre cas il est égale 47,3% et il est proche de
47,4%
Analyse sur les valeurs influentes
Le niveau de confience du test on considere alpha= 5%
Le n =
Nombre des billets
p = Nombre des variables
La matrice Hat est la matrice de projection qui exprime les valeurs des observations dans la variable indépendante en termes de combinaisons linéaires des vecteurs de colonne de la matrice du modèle qui contient les observations pour chacune des variables multiples sur lesquelles on régresse. (The hat matrix is the projection matrix that expresses the values of the observations in the independent variable in terms of the linear combinations of the column vectors of the model matrixwhich contains the observations for each of the multiple variables you are regressing on)
Les termes diagonaux de H (hat matrix) sont appelés “leviers des observations” : \(H_{ii} =x_{i}(X^{⊤}X)^{−1}x^T_{i}\)
où \(x_{i}=(x_{i1},…,x_{ip})^{⊤}\)
Par la définition de Belsey on considére l’observation i comme atypique si :
\(h_{ii}\) > 2*\(\frac{p}{n}\) - seuil des leviers
Chaque point de l’ensemble de données tente de tirer la ligne des moindres carrés ordinaires (MCO) vers lui-même. Cependant, les points plus éloignés à l’extrême des valeurs regressor auront plus d’effet de levier.
Visualisation des leviers pour chaque billets et le seuil des
leviers
Sélection des billets pour lesquels le levier est supérieur au
seuil :
## [1] 0.016221380 0.008485757 0.012658084 0.009161085 0.008209498 0.010291302
## [7] 0.009501807 0.010701678 0.009469331 0.009076958 0.008295419 0.009068359
## [13] 0.010554252 0.011801174 0.009611529 0.008211679 0.011344283 0.009697132
## [19] 0.008856933 0.008695953 0.009088304 0.008897220 0.013341442 0.008270992
## [25] 0.009155900 0.009411147 0.008349194 0.009562824 0.008827645 0.008906699
## [31] 0.009073827 0.013775203 0.009590639 0.009623035 0.014634815 0.008243225
## [37] 0.008792373
Calcule de résidus studentisés
On considère les
résidus studentisés pour évaluer si une observation est atypique.
Lignes rouge - les seuils de résidus studentisés
Les points possédant une valeur d’effet de levier importante ne sont pas
nécessairement des valeurs aberrantes.
La mesure de l’influence
d’une observation s’effectue à l’aide de la distance de
Cook.
Distance de Cook
Maintenant on peut calculer la distance de Cook et détecter les
observations influentes (qui dépasse le seuil de Cook(ligne rouge)) qui
sont aberrant au vu du modèle estimé.
Les billets atypiques au vu du modèle estimé sont sauvegardés
dans un datafame billets_aberrantes:
Elimination des billets atypiques de notre modèle de la
régression linéaire multiple:
## [1] "Nombre des billets atypiques au vu de régression linéaire multiple = 80"
Rappelle de résultats du modéle
##
## Call:
## lm(formula = margin_low ~ height_left + height_right + margin_up +
## length, data = data_norm)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.11349 -0.29434 -0.02935 0.26191 1.40105
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.78589 6.34321 1.543 0.123
## height_left 0.16794 0.03986 4.214 2.68e-05 ***
## height_right 0.23119 0.03847 6.010 2.37e-09 ***
## margin_up 0.25041 0.05810 4.310 1.75e-05 ***
## length -0.42248 0.01649 -25.624 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4105 on 1378 degrees of freedom
## Multiple R-squared: 0.5414, Adjusted R-squared: 0.5401
## F-statistic: 406.8 on 4 and 1378 DF, p-value: < 2.2e-16
La colinéarité des variables
Maintenant on va vérifier la colinéarité des variables à l’aide du
facteur d’influence de la variance, noté VIF (Variance Inflation
Factor)
Le VIF mesure de combien la variance d’un coefficient de
régression estimé augmente, par rapport à une situation dans laquelle
les prédicteurs sont strictement indépendants.
Une valeur élevée de
VIF est un signe de multi-colinéarité
## height_left height_right margin_up length
## 1.123308 1.233649 1.425819 1.594634
Ici, tous les coefficients sont inférieurs à 10, il n’y a donc pas de problème de colinéarité.
L’homoscédasticité des résidus
Une hypothèse clé de la régression linéaire est que les résidus sont distribués avec la même variance pour toutes les variables. Cette hypothèse est connue sous le nom d’homoscédasticité.
On teste l’homoscédasticité des résidus afin de vérifier cette constance des variables à l’aide du test de Breusch-Pagan. Les hypothèses du test:
##
## studentized Breusch-Pagan test
##
## data: regression_multiple
## BP = 51.91, df = 4, p-value = 1.441e-10
La p-valeur est inférieure à 5 % , donc on rejette l’hypothèse H0
selon laquelle les variances sont constantes .
En conséquence la condition de l’homoscédasticité des résidus pour
notre régression linéaire n’est pas respectée et on pourrait avoir les
prédictions moins efficaces.
Pour résourdre ce problème on va effectuer l’approche
économétrique de White avec les estimateurs robustes de
variance-covariance.
Dans ce but on utilise le package
sandwhich et en la fonction vcovHC
Matrice contenant l’estimation des covariance.
## (Intercept) height_left height_right margin_up
## (Intercept) 32.96400702 -1.268950e-01 -0.1288731034 -2.866044e-02
## height_left -0.12689497 1.257288e-03 -0.0001178107 -8.387954e-05
## height_right -0.12887310 -1.178107e-04 0.0012012536 -1.828079e-04
## margin_up -0.02866044 -8.387954e-05 -0.0001828079 3.240544e-03
## length -0.05572693 7.667274e-05 0.0001497002 4.099777e-04
## length
## (Intercept) -5.572693e-02
## height_left 7.667274e-05
## height_right 1.497002e-04
## margin_up 4.099777e-04
## length 2.739199e-04
Nous voulons obtenir des erreurs standard robustes
d’hétéroskedasticité et leurs valeurs t correspondantes. En R, la
fonction coeftest() du paquet lmtest peut être
utilisée en combinaison avec la fonction vcovHC() du paquet
sandwich pour ce faire.
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.785889 5.741429 1.7044 0.08853 .
## height_left 0.167942 0.035458 4.7363 2.401e-06 ***
## height_right 0.231187 0.034659 6.6703 3.686e-11 ***
## margin_up 0.250413 0.056926 4.3989 1.172e-05 ***
## length -0.422478 0.016551 -25.5266 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
La normalité des résidus
Il existe plusieurs test de normalité des données parmi lesquelles
sont le test de Shapiro-Wilk pour les petits échantillons (< 50
individus) et le test de Kolmogorov-Smirnov pour les grands
échatillons.
Dans notre cas il est intéressant d’opter pour le
test de Kolmogorov-Smirnov
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: regression_multiple$residuals
## D = 0.035607, p-value = 0.05998
## alternative hypothesis: two-sided
La probabilité de dépassement est supérieure à p-value = 0.05. Cela
indique que l’hypothèse de normalité des données est tolérée.
4. Remplacement de données manquantes
On compte les prévisions pour les données manquantes grâce à la
fonction predict() et
notre modèle de la régression
linéaire multiple
La série de prévisions - margin_low_prev :
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## 4.31 4.36 4.40 4.24 4.62 3.80 4.16 4.09 4.20 4.19 4.21 3.73 4.03 4.28 4.16 4.04
## 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
## 4.43 4.48 4.34 4.11 3.59 4.29 4.07 4.16 3.86 3.73 4.25 4.64 4.12 4.98 4.71 5.03
## 33 34 35 36 37
## 5.07 4.77 5.70 5.24 5.12
Cette série sera utilisée pour l’imputation des données manquantes
suivante.
On revient sur notre jeu de données et on va remplacer nos données
manquantes par les prévisions de la serie
margin_low_prev**
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|---|
| True | 171.81 | 104.86 | 104.95 | 4.52 | 2.89 | 112.83 |
| True | 171.46 | 103.36 | 103.66 | 3.77 | 2.99 | 113.09 |
| True | 172.69 | 104.48 | 103.5 | 4.4 | 2.94 | 113.16 |
| True | 171.36 | 103.91 | 103.94 | 3.62 | 3.01 | 113.51 |
| True | 171.73 | 104.28 | 103.46 | 4.04 | 3.48 | 112.54 |
| True | 172.17 | 103.74 | 104.08 | 4.42 | 2.95 | 112.81 |
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| Length:1500 | Min. :171.0 | Min. :103.1 | Min. :102.8 | Min. :2.980 | Min. :2.270 | Min. :109.5 | |
| Class :character | 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.020 | 1st Qu.:2.990 | 1st Qu.:112.0 | |
| Mode :character | Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | |
| NA | Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.483 | Mean :3.151 | Mean :112.7 | |
| NA | 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.870 | 3rd Qu.:3.310 | 3rd Qu.:113.3 | |
| NA | Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.4 |
Les données complétées et prêtes à l’analyse suivante
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|---|
| True | 171.81 | 104.86 | 104.95 | 4.52 | 2.89 | 112.83 |
| True | 171.46 | 103.36 | 103.66 | 3.77 | 2.99 | 113.09 |
| True | 172.69 | 104.48 | 103.50 | 4.40 | 2.94 | 113.16 |
| True | 171.36 | 103.91 | 103.94 | 3.62 | 3.01 | 113.51 |
| True | 171.73 | 104.28 | 103.46 | 4.04 | 3.48 | 112.54 |
| True | 172.17 | 103.74 | 104.08 | 4.42 | 2.95 | 112.81 |
Résumé de l’application de mèthode de régression linéaire multiple
A. Le fichier d’exemple consiste de
1500 individus (billets) et 7
variables (6 colonnes de paramètres géométriques et
1 colonne de la nature du billet)
Les
paramètres géométriques :
- Mesure : en mm
- Taux de
complétion des variables : 5 paramètres à 100
%, sauf margin_low à 98
%
La nature du billet :
- Variable is_genuine
booléenne représentée par 2 valeurs: True (vrai
billet)/ False (faux billet)
B. Dans la variable margin_low
37 valeurs manquantes ont étaient imputées par
l’application du modèle de la régression linéaire multiple.
L’estimation de ce modèle était réalisé par vérification les conditions suivantes :
C. Les données manquantes de la variable
margin_low ont été remplacé par les prévisions la
régression linéaire multiple élaborée.
La table finale
complétée et prête à analyse suivante
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|---|
| True | 171.81 | 104.86 | 104.95 | 4.52 | 2.89 | 112.83 |
| True | 171.46 | 103.36 | 103.66 | 3.77 | 2.99 | 113.09 |
| True | 172.69 | 104.48 | 103.50 | 4.40 | 2.94 | 113.16 |
| True | 171.36 | 103.91 | 103.94 | 3.62 | 3.01 | 113.51 |
| True | 171.73 | 104.28 | 103.46 | 4.04 | 3.48 | 112.54 |
| True | 172.17 | 103.74 | 104.08 | 4.42 | 2.95 | 112.81 |
1. Méthode des kNN (k-nearest neighbors )
Pour des variables continues, il peut être assez facile de faire de
l’interpolation. L’interpolation consiste à compléter une valeur en
regardant la valeur précédente, la valeur suivante ou les deux en même
temps.
Les méthodes d’interpolation sont nombreuses.
Ici, on va
appliquer Interpolation grâce à la méthode des
kNN
l’idée de la méthode des kNN est de calculer les distances entre
observations, et d’attribuer aux valeurs manquante la moyenne des
valeurs observées chez les k plus proches voisins.
Pour effectuer
cette méthode on va utiliser la fonction kNN() du package
VIM.
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | is_genuine_imp | diagonal_imp | height_left_imp | height_right_imp | margin_low_imp | margin_up_imp | length_imp | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Length:1500 | Min. :171.0 | Min. :103.1 | Min. :102.8 | Min. :2.980 | Min. :2.270 | Min. :109.5 | Mode :logical | Mode :logical | Mode :logical | Mode :logical | Mode :logical | Mode :logical | Mode :logical | |
| Class :character | 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.020 | 1st Qu.:2.990 | 1st Qu.:112.0 | FALSE:1500 | FALSE:1500 | FALSE:1500 | FALSE:1500 | FALSE:1463 | FALSE:1500 | FALSE:1500 | |
| Mode :character | Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | NA | NA | NA | NA | TRUE :37 | NA | NA | |
| NA | Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.484 | Mean :3.151 | Mean :112.7 | NA | NA | NA | NA | NA | NA | NA | |
| NA | 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.870 | 3rd Qu.:3.310 | 3rd Qu.:113.3 | NA | NA | NA | NA | NA | NA | NA | |
| NA | Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.4 | NA | NA | NA | NA | NA | NA | NA |
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|---|
| True | 171.81 | 104.86 | 104.95 | 4.52 | 2.89 | 112.83 |
| True | 171.46 | 103.36 | 103.66 | 3.77 | 2.99 | 113.09 |
| True | 172.69 | 104.48 | 103.50 | 4.40 | 2.94 | 113.16 |
| True | 171.36 | 103.91 | 103.94 | 3.62 | 3.01 | 113.51 |
| True | 171.73 | 104.28 | 103.46 | 4.04 | 3.48 | 112.54 |
| True | 172.17 | 103.74 | 104.08 | 4.42 | 2.95 | 112.81 |
2. Méthode des forêts aléatoires
Une forêt aléatoire est un algorithme de machine learning supervisé
en appliquante une formule permettant d’utiliser des données aléatoires
pour créer des prédictions.
Il gère à la fois les problèmes de
classification et de régression.Sa souplesse d’utilisation et sa
flexibilité ont favorisé son adoption, car il gère à la fois les
problèmes de classification et de régression.
Cet algorithme est appelé « forêt » parce qu’il génère la
croissance d’une forêt d’arbres de décision. Les données de ces arbres
sont ensuite fusionnées pour garantir les prédictions les plus précises.
Alors qu’un arbre de décision isolé a un seul résultat et une gamme
étroite de groupes, la forêt assure un résultat plus précis en comptant
sur un plus grand nombre de groupes et de décisions. Elle présente
l’avantage supplémentaire d’ajouter un caractère aléatoire au modèle en
trouvant la meilleure caractéristique parmi un sous-ensemble aléatoire
de caractéristiques. Dans l’ensemble, ces avantages créent un modèle qui
présente une grande diversité que de nombreux data scientists
favorisent.
Source: https://www.tibco.com/fr/reference-center/what-is-a-random-forest
| diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|
| 171.81 | 104.86 | 104.95 | 4.52 | 2.89 | 112.83 |
| 171.46 | 103.36 | 103.66 | 3.77 | 2.99 | 113.09 |
| 172.69 | 104.48 | 103.50 | 4.40 | 2.94 | 113.16 |
| 171.36 | 103.91 | 103.94 | 3.62 | 3.01 | 113.51 |
| 171.73 | 104.28 | 103.46 | 4.04 | 3.48 | 112.54 |
| 172.17 | 103.74 | 104.08 | 4.42 | 2.95 | 112.81 |
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| Length:1500 | Min. :171.0 | Min. :103.1 | Min. :102.8 | Min. :2.980 | Min. :2.270 | Min. :109.5 | |
| Class :character | 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.020 | 1st Qu.:2.990 | 1st Qu.:112.0 | |
| Mode :character | Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | |
| NA | Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.484 | Mean :3.151 | Mean :112.7 | |
| NA | 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.870 | 3rd Qu.:3.310 | 3rd Qu.:113.3 | |
| NA | Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.4 |
Comparaison de variable
margin_lowimputée par différentes méthodes
Une analyse descriptive des données sert à définir certaines caractéristiques des paramètres de billets, mesurer les tendances et comparer les différents groupes. En même temps on peut voir la distribution des billets et corrélation des paramètres
Dans cette partie on présent notamment la répartition des dimensions
des billets, le nombre de vrais / faux billets, etc.
Les descriptions présentées:
• Statistiques des dimensions géometriques
• Répartition des
dimensions des vrais et faux billets
• Proportion des faux et vrais
billets
• Corrélation des variables des billets
Les statistiques des dimensions géométriques
Nous avons 6 dimensions géométriques :
● length : la longueur du billet (en mm) ;
●
height_left : la hauteur du billet (mesurée sur le côté
gauche, en mm) ;
● height_right : la hauteur du billet
(mesurée sur le côté droit, en mm) ;
● margin_up : la
marge entre le bord supérieur du billet et l’image de celui-ci (en mm)
;
● margin_low : la marge entre le bord inférieur du
billet et l’image de celui-ci (en mm) ;
● diagonal : la
diagonale du billet (en mm).
En plus, un paramètre déterminant :
● is_genuine : la nature du billet
(True/False)`.
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| Min. :0.0000 | Min. :171.0 | Min. :103.1 | Min. :102.8 | Min. :2.980 | Min. :2.270 | Min. :109.5 | |
| 1st Qu.:0.0000 | 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.020 | 1st Qu.:2.990 | 1st Qu.:112.0 | |
| Median :1.0000 | Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | |
| Mean :0.6667 | Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.483 | Mean :3.151 | Mean :112.7 | |
| 3rd Qu.:1.0000 | 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.870 | 3rd Qu.:3.310 | 3rd Qu.:113.3 | |
| Max. :1.0000 | Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.4 |
Analyse en composantes principale (ACP) nous sert à synthétiser
l’information et interpréter la quantité important de données
quantitatives .
Les deux objectifs principaux de l’ACP dans cette partie :
On va créer des dimensions synthétiques calculées (les composantes
principales) à partir des dimensions initiales (paramètres géometriques)
en perdant le moins d’information possible.
Pour ce faire, il est
important de ramener les données dans des échelles de grandeur
similaires: centrer-réduire nos données.
Proportion de variences expliqué par les composantes principales
Variance cumulée pour les dimensions de composantes principales
Ici on voit les axes principaux d’inertie du nuage des variables (les
composantes principales) et leurs proportions de variance.
On voit
que la PC1 est le plus représentative avec 73 % de la variance
expliquée.
## Importance of components:
## Comp.1 Comp.2 Comp.3 Comp.4 Comp.5
## Standard deviation 0.9642543 0.34912315 0.31617096 0.28335903 0.21859358
## Proportion of Variance 0.7265585 0.09524556 0.07811446 0.06274247 0.03733897
## Cumulative Proportion 0.7265585 0.82180411 0.89991857 0.96266103 1.00000000
## Comp.6
## Standard deviation 9.101744e-09
## Proportion of Variance 6.473464e-17
## Cumulative Proportion 1.000000e+00
Sur les visualisations suivants on découvre le niveau d’influence des
paramètres géométriques sur chaque composante principale.
| PC1 | PC2 | PC3 | PC4 | PC5 | PC6 | |
|---|---|---|---|---|---|---|
| length | 0.57 | -0.27 | -0.03 | 0.03 | 0.08 | 0.77 |
| diagonal | 0.19 | 0.96 | 0.06 | 0.08 | 0.04 | 0.18 |
| height_left | -0.27 | 0.06 | -0.92 | 0.09 | 0.21 | 0.17 |
| height_right | -0.35 | -0.07 | 0.30 | 0.79 | 0.36 | 0.19 |
| margin_up | -0.42 | 0.04 | 0.25 | -0.60 | 0.56 | 0.30 |
| margin_low | -0.51 | 0.04 | 0.08 | -0.04 | -0.71 | 0.47 |
Presentation de variance des variables sur le premier plan factoriel : (PC1, PC2)
Projection de vrais et faux billets sur la dimension (PC1,PC2)
| Dim.1 | Dim.2 | Dim.3 | Dim.4 | Dim.5 | Dim.6 |
|---|---|---|---|---|---|
| -1.6433581 | -0.7448467 | 2.4076014 | -3.1773554 | 0.2907772 | 0.0073915 |
| 2.0195715 | 2.2061493 | -1.0024614 | -0.0744211 | 0.0303291 | 0.4728205 |
| 0.9680399 | -2.6210023 | 1.1936177 | 0.9284338 | -0.8318457 | -0.2038883 |
| 1.3775004 | 1.8191542 | 0.6520614 | -0.8293368 | 0.7924940 | 0.2269698 |
| -0.1491568 | 0.5688384 | 0.8517457 | 1.7839646 | 1.1819414 | 0.3030584 |
| 0.6951035 | -0.4281526 | -0.8668459 | -0.8222852 | -0.5828600 | 0.0960691 |
| Dim.1 | Dim.2 | Dim.3 | Dim.4 | Dim.5 | Dim.6 | is_genuine |
|---|---|---|---|---|---|---|
| -1.6433581 | -0.7448467 | 2.4076014 | -3.1773554 | 0.2907772 | 0.0073915 | 1 |
| 2.0195715 | 2.2061493 | -1.0024614 | -0.0744211 | 0.0303291 | 0.4728205 | 1 |
| 0.9680399 | -2.6210023 | 1.1936177 | 0.9284338 | -0.8318457 | -0.2038883 | 1 |
| 1.3775004 | 1.8191542 | 0.6520614 | -0.8293368 | 0.7924940 | 0.2269698 | 1 |
| -0.1491568 | 0.5688384 | 0.8517457 | 1.7839646 | 1.1819414 | 0.3030584 | 1 |
| 0.6951035 | -0.4281526 | -0.8668459 | -0.8222852 | -0.5828600 | 0.0960691 | 1 |
Résumé
Les 6 paramètres géométriques ont été synthétisés et peuvent être
présentés par 2 premières composantes principales PC1 et PC 2 en gardant
82,5 % de variation des paramètres géométriques.
La PC1 est corrélée avec le
paramètre “length” (présente 57 % de
la variation) et anti-corrélée avec les paramètres
“margin_up” (-51 %) et
“margin_low” (- 42 %)
La PC2 est* corrélée avec le
paramètre “diagonal” (présente 96 % de
la variation)
Sur le premier plan factoriel (PC1, PC2) les
projection des vrais billets et des
faux billets sont regroupés
Les vrais billets sont avancés sur la
PC1 par rapport aux faux billets.
Ainsi, les faux
billets ont :
- le paramètre "length" réduit;
- le paramètre "margin_up" élevé;
- le paramètre "margin_low" élevé
par rapport aux vrais billets.
Dans cette partie on va appliquer la méthode de la régression
logistique classique afin d’identifier un maximum de faux billets au
sein de la masse de billets analysés.
Cette méthode est divisée en plusieurs étapes :
• Détermination de jeu de données pour entraîner le modèle
•
Construction du modèle
• Application de la prévision
•
Comparaison du résultat de prévision avec la nature initiale de
billets
• Proportionnalité des erreurs et visualisation des billets
mal identifiés
Déterminaison des jeux de données pour entraîner le modèle
Pour entraîner le modèle on va utiliser la radome sélection de
75% du jeu de données fourni.
data_train_commun - Dataframe dont on va utiliser pour
modélisation
Les premières lignes du data_train_commun
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| 415 | 1 | 172.30 | 104.12 | 103.89 | 3.55 | 2.93 | 113.68 |
| 463 | 1 | 171.48 | 103.95 | 103.93 | 4.52 | 2.91 | 113.21 |
| 179 | 1 | 171.79 | 104.57 | 104.04 | 4.26 | 3.15 | 113.46 |
| 526 | 1 | 171.97 | 103.61 | 103.60 | 4.89 | 3.17 | 112.96 |
| 195 | 1 | 171.94 | 104.34 | 103.99 | 4.27 | 2.87 | 113.14 |
| 938 | 1 | 171.64 | 103.60 | 103.76 | 4.42 | 2.98 | 112.94 |
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| Min. :0.0000 | Min. :171.0 | Min. :103.1 | Min. :102.8 | Min. :2.980 | Min. :2.270 | Min. :109.5 | |
| 1st Qu.:0.0000 | 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.030 | 1st Qu.:2.990 | 1st Qu.:112.0 | |
| Median :1.0000 | Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | |
| Mean :0.6622 | Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.495 | Mean :3.157 | Mean :112.7 | |
| 3rd Qu.:1.0000 | 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.880 | 3rd Qu.:3.310 | 3rd Qu.:113.3 | |
| Max. :1.0000 | Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.2 |
Construction du modèle
Modèle de la regression logistique
##
## Call:
## glm(formula = is_genuine ~ diagonal + height_left + height_right +
## margin_low + margin_up + length, family = "binomial", data = data_train)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -3.9891 -0.0018 0.0043 0.0232 2.2726
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -195.9482 289.8268 -0.676 0.4990
## diagonal 0.7549 1.2797 0.590 0.5552
## height_left -1.8227 1.4189 -1.285 0.1989
## height_right -2.8480 1.3618 -2.091 0.0365 *
## margin_low -6.2026 1.1482 -5.402 6.59e-08 ***
## margin_up -9.6934 2.3729 -4.085 4.41e-05 ***
## length 5.4387 0.8486 6.409 1.46e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1438.989 on 1124 degrees of freedom
## Residual deviance: 58.985 on 1118 degrees of freedom
## AIC: 72.985
##
## Number of Fisher Scoring iterations: 10
Certaines des variables obtenues ont des p-valeurs qui sont
inférieures au niveau de test de 5 %, ce qui nous indique qu’elles sont
bien significatives. Certaines autres ne sont pas en dessous de ce
seuil.
On peut donc passer sur une procédure de sélection en retirant les
variables non significatives
Sélection automatique du modèle
: Le critère AIC nous a permis de réduire nombre de paramètres de 6 à
4.
## Start: AIC=72.98
## is_genuine ~ diagonal + height_left + height_right + margin_low +
## margin_up + length
##
## Df Deviance AIC
## - diagonal 1 59.339 71.339
## - height_left 1 60.685 72.685
## <none> 58.985 72.985
## - height_right 1 64.519 76.519
## - margin_up 1 85.084 97.084
## - margin_low 1 158.667 170.667
## - length 1 223.971 235.971
##
## Step: AIC=71.34
## is_genuine ~ height_left + height_right + margin_low + margin_up +
## length
##
## Df Deviance AIC
## - height_left 1 61.007 71.007
## <none> 59.339 71.339
## - height_right 1 65.574 75.574
## - margin_up 1 85.817 95.817
## - margin_low 1 163.860 173.860
## - length 1 225.604 235.604
##
## Step: AIC=71.01
## is_genuine ~ height_right + margin_low + margin_up + length
##
## Df Deviance AIC
## <none> 61.007 71.007
## - height_right 1 70.665 78.665
## - margin_up 1 89.018 97.018
## - margin_low 1 175.650 183.650
## - length 1 242.892 250.892
##
## Call: glm(formula = is_genuine ~ height_right + margin_low + margin_up +
## length, family = "binomial", data = data_train)
##
## Coefficients:
## (Intercept) height_right margin_low margin_up length
## -183.293 -3.649 -6.543 -9.928 5.554
##
## Degrees of Freedom: 1124 Total (i.e. Null); 1120 Residual
## Null Deviance: 1439
## Residual Deviance: 61.01 AIC: 71.01
Modèle modifié d’après l’application du critère d’Akaike en utilisant le package CARET.
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -4.0140 -0.0014 0.0038 0.0232 2.2960
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -183.2928 162.9988 -1.125 0.26080
## height_right -3.6486 1.3752 -2.653 0.00798 **
## margin_low -6.5427 1.1351 -5.764 8.22e-09 ***
## margin_up -9.9279 2.3629 -4.202 2.65e-05 ***
## length 5.5541 0.8508 6.528 6.65e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1438.989 on 1124 degrees of freedom
## Residual deviance: 61.007 on 1120 degrees of freedom
## AIC: 71.007
##
## Number of Fisher Scoring iterations: 10
On applique notre modèle au jeu d’entrainement afin d’avoir une prevision de la nature des billets: 1 = Vrai , 0 = FauxApplication de la prévision
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | prediction | |
|---|---|---|---|---|---|---|---|---|
| 415 | 1 | 172.30 | 104.12 | 103.89 | 3.55 | 2.93 | 113.68 | 1 |
| 463 | 1 | 171.48 | 103.95 | 103.93 | 4.52 | 2.91 | 113.21 | 1 |
| 179 | 1 | 171.79 | 104.57 | 104.04 | 4.26 | 3.15 | 113.46 | 1 |
| 526 | 1 | 171.97 | 103.61 | 103.60 | 4.89 | 3.17 | 112.96 | 1 |
| 195 | 1 | 171.94 | 104.34 | 103.99 | 4.27 | 2.87 | 113.14 | 1 |
| 938 | 1 | 171.64 | 103.60 | 103.76 | 4.42 | 2.98 | 112.94 | 1 |
Comparaison du résultat de prévision avec la nature initiale de billets
On crée un tableau croisé des classes observées et prédites avec les
statistiques associées:
## Confusion Matrix and Statistics
##
##
## prediction_lr 0 1
## 0 375 3
## 1 5 742
##
## Accuracy : 0.9929
## 95% CI : (0.986, 0.9969)
## No Information Rate : 0.6622
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9841
##
## Mcnemar's Test P-Value : 0.7237
##
## Sensitivity : 0.9868
## Specificity : 0.9960
## Pos Pred Value : 0.9921
## Neg Pred Value : 0.9933
## Prevalence : 0.3378
## Detection Rate : 0.3333
## Detection Prevalence : 0.3360
## Balanced Accuracy : 0.9914
##
## 'Positive' Class : 0
##
Proportionnalité des erreurs et visualisation des billets mal identifiés
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | prediction | vf | |
|---|---|---|---|---|---|---|---|---|---|
| 1191 | 0 | 171.45 | 104.21 | 104.18 | 4.550000 | 3.52 | 113.21 | 1 | faux dont identifié comme vrais |
| 1384 | 0 | 171.75 | 104.16 | 104.16 | 4.230000 | 2.99 | 111.83 | 1 | faux dont identifié comme vrais |
| 1408 | 0 | 172.02 | 103.99 | 104.28 | 4.220000 | 2.98 | 112.42 | 1 | faux dont identifié comme vrais |
| 1074 | 0 | 172.13 | 103.67 | 103.82 | 4.270000 | 3.22 | 112.15 | 1 | faux dont identifié comme vrais |
| 1123 | 0 | 172.09 | 104.15 | 104.17 | 4.150000 | 3.40 | 113.85 | 1 | faux dont identifié comme vrais |
| 947 | 1 | 171.63 | 103.87 | 104.66 | 4.640029 | 3.27 | 112.68 | 0 | vrais dont identifié comme faux |
| 592 | 1 | 171.67 | 103.81 | 103.76 | 4.590000 | 3.30 | 112.18 | 0 | vrais dont identifié comme faux |
| 729 | 1 | 171.94 | 104.11 | 104.16 | 4.080000 | 3.35 | 111.76 | 0 | vrais dont identifié comme faux |
| Var1 | Freq |
|---|---|
| prévision correspond | 0.993 |
| prévision ne correspond pas | 0.007 |
| Faux_billets_par_prediction | Vrais_billets_par_prediction | |
|---|---|---|
| Faux_billets | 375 | 5 |
| Vrais_billets | 3 | 742 |
Proportion de la reussité et d’erreur:
| Var1 | Freq |
|---|---|
| vrais dont identifié comme faux | 0.003 |
| faux dont identifié comme vrais | 0.004 |
| juste | 0.993 |
| diagonal | height_left | height_right | margin_low | margin_up | length | vf | |
|---|---|---|---|---|---|---|---|
| 1191 | 171.45 | 104.21 | 104.18 | 4.550000 | 3.52 | 113.21 | faux dont identifié comme vrais |
| 1384 | 171.75 | 104.16 | 104.16 | 4.230000 | 2.99 | 111.83 | faux dont identifié comme vrais |
| 1408 | 172.02 | 103.99 | 104.28 | 4.220000 | 2.98 | 112.42 | faux dont identifié comme vrais |
| 1074 | 172.13 | 103.67 | 103.82 | 4.270000 | 3.22 | 112.15 | faux dont identifié comme vrais |
| 1123 | 172.09 | 104.15 | 104.17 | 4.150000 | 3.40 | 113.85 | faux dont identifié comme vrais |
| 947 | 171.63 | 103.87 | 104.66 | 4.640029 | 3.27 | 112.68 | vrais dont identifié comme faux |
| 592 | 171.67 | 103.81 | 103.76 | 4.590000 | 3.30 | 112.18 | vrais dont identifié comme faux |
| 729 | 171.94 | 104.11 | 104.16 | 4.080000 | 3.35 | 111.76 | vrais dont identifié comme faux |
Résumé
1. L’entraînement d’un modèle revient à mesurer
l’erreur de la sortie de l’algorithme avec les données d’exemple et
chercher à la minimiser.
Pour cela on a divisé notre jeu de données
en deux parties distinctes :
2.Le modèle de la régression logistique a été
construit et puis modifié d’après l’application du critère d’Akaike
3. Les predictions de la nature du billet par
rapport à ces paramètres géométriques on été inscrit dans la colonne
prediction de data_train:
4. Comparaison du résultat de prévision avec la
nature initiale de billets était effectué par la matrcie de confusion.
Dans les résultats on a obtenu ** 8 ** billets mal idéntifiés parmi
1125 billets étudiés.
Proportion de la reussité et d’erreur:
4. L’efficacité de mèthode : 99,3 %
Dans cette partie on va appliquer la méthode du k-means aux
75 % de jeu de données fourni afin d’identifier un
maximum de faux billets au sein de la masse de billets analysés.
Cette méthode est divisée en plusieurs étapes :
• Détermination de jeu de données pour entraîner la méthode
•
Définition de clusters k-means
• Exploration du nombre optimal de
clusters
• ACP
• Projections des clusters et des centroïdes
• Comparaison du résultat de prévision avec la nature initiale de
billets
• Proportionnalité des erreurs et visualisation des billets
mal identifiés
Détermination des jeux de données
data_train_commun - Dataframe dont on va utiliser pour
modélisation | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|
| 415 | 172.30 | 104.12 | 103.89 | 3.55 | 2.93 | 113.68 |
| 463 | 171.48 | 103.95 | 103.93 | 4.52 | 2.91 | 113.21 |
| 179 | 171.79 | 104.57 | 104.04 | 4.26 | 3.15 | 113.46 |
| 526 | 171.97 | 103.61 | 103.60 | 4.89 | 3.17 | 112.96 |
| 195 | 171.94 | 104.34 | 103.99 | 4.27 | 2.87 | 113.14 |
| 938 | 171.64 | 103.60 | 103.76 | 4.42 | 2.98 | 112.94 |
| diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|
| Min. :171.0 | Min. :103.1 | Min. :102.8 | Min. :2.980 | Min. :2.270 | Min. :109.5 | |
| 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.030 | 1st Qu.:2.990 | 1st Qu.:112.0 | |
| Median :172.0 | Median :104.0 | Median :103.9 | Median :4.310 | Median :3.140 | Median :113.0 | |
| Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.495 | Mean :3.157 | Mean :112.7 | |
| 3rd Qu.:172.2 | 3rd Qu.:104.2 | 3rd Qu.:104.2 | 3rd Qu.:4.880 | 3rd Qu.:3.310 | 3rd Qu.:113.3 | |
| Max. :173.0 | Max. :104.9 | Max. :105.0 | Max. :6.900 | Max. :3.910 | Max. :114.2 |
>Définition de clusters k-means
Ici on obtient :
faux ;
cluster 2 = les billets déterminés vrais## diagonal height_left height_right margin_low margin_up length
## 1 171.8878 104.1887 104.1388 5.242989 3.348113 111.6029
## 2 171.9914 103.9443 103.8138 4.126276 3.062347 113.1929
## [1] 371 754
## [1] 1
## 415 463 179 526 195 938 1142 1323 1253 1268 1038 1398 665 602 709 1011
## 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 1
## 1115 953 348 1017
## 1 2 2 1
## [1] 1002.848
Visualisation de clustering sur les dimensions geomethriques
de billets
Exploration du nombre optimal de clusters
Definition du nombre de clusters k-means
Sur les graphiques suivants on peut voir l’évolution des sommes des carrés entre les clusters et l’évolution des sommes des carrés à l’intérieur des clusters
## Warning: `qplot()` was deprecated in ggplot2 3.4.0.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Exploration du nombre de clusters par silouhette-score
Analyse en Composantes Principales des clusters
PCA et projection des billets sur les composantes principales
| Dim.1 | Dim.2 | Dim.3 | Dim.4 | Dim.5 | Dim.6 | |
|---|---|---|---|---|---|---|
| 415 | -1.8004547 | -1.2786124 | 0.7502174 | -0.3557233 | 0.3226961 | 0.1737679 |
| 463 | -0.6875483 | 1.5264356 | 0.8002230 | -0.5724969 | -0.4548363 | -0.3123934 |
| 179 | 0.1650701 | -0.1644548 | 1.9897855 | 0.1037238 | 0.7133121 | -0.4778464 |
| 526 | -0.7178149 | 0.5278955 | -1.3105176 | 0.4522166 | -0.5350669 | -0.6189875 |
| 195 | -0.5463763 | -0.3476627 | 1.5477735 | -0.4040538 | -0.4154547 | 0.0056588 |
| 938 | -1.1297472 | 1.4672789 | -0.5427919 | -0.3236278 | -0.5066196 | -0.0238927 |
Proportion de variences expliqué par les composantes principales
| PC1 | PC2 | PC3 | PC4 | PC5 | PC6 | |
|---|---|---|---|---|---|---|
| length | 0.57 | -0.28 | -0.06 | 0.00 | 0.07 | 0.77 |
| diagonal | 0.21 | 0.94 | 0.10 | 0.14 | 0.07 | 0.18 |
| height_left | -0.29 | 0.11 | -0.92 | 0.07 | 0.18 | 0.16 |
| height_right | -0.35 | -0.13 | 0.26 | 0.79 | 0.36 | 0.19 |
| margin_up | -0.42 | 0.06 | 0.25 | -0.59 | 0.57 | 0.30 |
| margin_low | -0.50 | 0.06 | 0.11 | -0.04 | -0.71 | 0.47 |
Projections des clusters et des centroïdes
| Dim.1 | Dim.2 | Dim.3 | Dim.4 | Dim.5 | Dim.6 | cluster | is_genuine | |
|---|---|---|---|---|---|---|---|---|
| 415 | -1.8004547 | -1.2786124 | 0.7502174 | -0.3557233 | 0.3226961 | 0.1737679 | 2 | 1 |
| 463 | -0.6875483 | 1.5264356 | 0.8002230 | -0.5724969 | -0.4548363 | -0.3123934 | 2 | 1 |
| 179 | 0.1650701 | -0.1644548 | 1.9897855 | 0.1037238 | 0.7133121 | -0.4778464 | 2 | 1 |
| 526 | -0.7178149 | 0.5278955 | -1.3105176 | 0.4522166 | -0.5350669 | -0.6189875 | 2 | 1 |
| 195 | -0.5463763 | -0.3476627 | 1.5477735 | -0.4040538 | -0.4154547 | 0.0056588 | 2 | 1 |
| 938 | -1.1297472 | 1.4672789 | -0.5427919 | -0.3236278 | -0.5066196 | -0.0238927 | 2 | 1 |
## [1] 745
## [1] 754
Projection des k-means centers sur les composantes principales
| diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|
| 171.8878 | 104.1887 | 104.1388 | 5.242989 | 3.348113 | 111.6029 |
| 171.9914 | 103.9443 | 103.8138 | 4.126276 | 3.062348 | 113.1929 |
| Dim.1 | Dim.2 |
|---|---|
| -1.732051 | 0 |
| 1.732051 | 0 |
Comparaison du résultat de prévision avec la nature initiale de billets
| Dim.1 | Dim.2 | Dim.3 | Dim.4 | Dim.5 | Dim.6 | cluster | is_genuine | vf | |
|---|---|---|---|---|---|---|---|---|---|
| 1088 | 1.1119023 | -0.0481014 | 0.2734957 | 0.7609797 | 0.0176569 | -1.4892895 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1326 | 1.2716279 | -0.0432924 | 0.9303253 | -0.0836425 | 0.3434303 | -1.9436385 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1246 | 1.0348515 | -1.1390216 | -0.6365328 | -0.7804959 | 1.6071201 | 1.0120936 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1079 | 1.6710329 | -1.2502383 | 0.3553757 | -0.1479398 | 0.5577415 | -1.2305956 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1191 | 1.1049806 | 1.2598966 | 0.6428219 | 0.0093046 | 1.6858429 | -0.8061915 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1224 | 1.9264917 | -1.4310169 | -0.0118670 | -0.9286359 | 2.1178116 | 0.1733675 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1082 | 0.3611237 | 0.6757419 | -0.7363083 | 0.9177124 | 0.1201520 | -0.2114595 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1342 | 1.1327142 | -0.2000742 | 0.0285300 | 0.2553678 | 1.1914885 | 0.3423258 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1408 | -0.0324167 | -0.2840833 | 0.2281176 | -1.2640366 | -0.1456231 | 0.5959501 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1074 | -0.3272689 | -0.1137651 | -1.3700795 | 0.0723047 | -0.0041917 | 0.6251687 | 1 | 0 | faux identifié dans le cluster des vrais |
| 1123 | -0.1168870 | -0.7138730 | 0.2670445 | -0.3036498 | 1.6434023 | -0.8968741 | 1 | 0 | faux identifié dans le cluster des vrais |
| 592 | 0.3009375 | 1.2015478 | -0.7260118 | 0.5061175 | 0.1162603 | 0.2375959 | 0 | 1 | vrai identifié dans le cluster des faux |
| 729 | 0.9917093 | -0.1056761 | -0.1078622 | -0.1537353 | 0.8489924 | 1.0291520 | 0 | 1 | vrai identifié dans le cluster des faux |
## [1] 1 0
| Var1 | Freq |
|---|---|
| correspond | 0.988 |
| ne correspond pas | 0.012 |
Proportion de la reussité et d’erreur:
Proportionnalité des erreurs et visualisation des billets mal identifiés
| Faux billets | Vrais billets | |
|---|---|---|
| 0 | 369 | 11 |
| 1 | 2 | 743 |
| Var1 | Freq |
|---|---|
| faux identifié dans le cluster des vrais | 0.010 |
| juste | 0.988 |
| vrai identifié dans le cluster des faux | 0.002 |
| diagonal | height_left | height_right | margin_low | margin_up | length | cluster | is_genuine | |
|---|---|---|---|---|---|---|---|---|
| 1088 | 171.91 | 104.28 | 103.86 | 5.48 | 3.37 | 113.13 | 1 | 0 |
| 1326 | 171.83 | 104.39 | 104.17 | 5.51 | 3.33 | 113.64 | 1 | 0 |
| 1246 | 172.26 | 104.04 | 104.43 | 3.82 | 3.47 | 111.95 | 1 | 0 |
| 1079 | 172.21 | 104.40 | 104.28 | 5.28 | 3.42 | 112.99 | 1 | 0 |
| 592 | 171.67 | 103.81 | 103.76 | 4.59 | 3.30 | 112.18 | 0 | 1 |
| 729 | 171.94 | 104.11 | 104.16 | 4.08 | 3.35 | 111.76 | 0 | 1 |
| 1191 | 171.45 | 104.21 | 104.18 | 4.55 | 3.52 | 113.21 | 1 | 0 |
| 1224 | 172.24 | 104.31 | 104.66 | 4.20 | 3.61 | 112.37 | 1 | 0 |
| 1082 | 171.82 | 103.90 | 103.67 | 4.79 | 3.36 | 112.43 | 1 | 0 |
| 1342 | 171.94 | 104.21 | 104.10 | 4.28 | 3.47 | 112.23 | 1 | 0 |
| 1408 | 172.02 | 103.99 | 104.28 | 4.22 | 2.98 | 112.42 | 1 | 0 |
| 1074 | 172.13 | 103.67 | 103.82 | 4.27 | 3.22 | 112.15 | 1 | 0 |
| 1123 | 172.09 | 104.15 | 104.17 | 4.15 | 3.40 | 113.85 | 1 | 0 |
Résumé
1. L’entraînement d’un modèle revient à mesurer
l’erreur de la sortie de l’algorithme avec les données d’exemple et
chercher à la minimiser.
Pour cela on a divisé notre jeu de données
en deux parties distinctes :
2. On a définie les clusters des billets et on on a
appliqué l’ACP aux clusters
3. Le cluster corréspondant à la nature du billet
par rapport à ces paramètres géométriques a été inscrit dans la colonne
cluster de data_train:
4. Comparaison du résultat de prévision avec la
nature initiale de billets était effectué par la matrcie de confusion.
Dans les résultats on a obtenu ** 13 ** billets mal idéntifiés
parmi 1125 billets étudiés.
Proportion de la reussité et d’erreur:
4. L’efficacité de mèthode : 98,8 %
On va comparer les résultats d’identification de 2 méthodes:
Table des erreurs de mèthode de la régression logistique
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | prediction | vf | conformité | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1191 | 0 | 171.45 | 104.21 | 104.18 | 4.550000 | 3.52 | 113.21 | 1 | faux dont identifié comme vrais | prévision ne correspond pas |
| 1384 | 0 | 171.75 | 104.16 | 104.16 | 4.230000 | 2.99 | 111.83 | 1 | faux dont identifié comme vrais | prévision ne correspond pas |
| 1408 | 0 | 172.02 | 103.99 | 104.28 | 4.220000 | 2.98 | 112.42 | 1 | faux dont identifié comme vrais | prévision ne correspond pas |
| 1074 | 0 | 172.13 | 103.67 | 103.82 | 4.270000 | 3.22 | 112.15 | 1 | faux dont identifié comme vrais | prévision ne correspond pas |
| 1123 | 0 | 172.09 | 104.15 | 104.17 | 4.150000 | 3.40 | 113.85 | 1 | faux dont identifié comme vrais | prévision ne correspond pas |
| 947 | 1 | 171.63 | 103.87 | 104.66 | 4.640029 | 3.27 | 112.68 | 0 | vrais dont identifié comme faux | prévision ne correspond pas |
| 592 | 1 | 171.67 | 103.81 | 103.76 | 4.590000 | 3.30 | 112.18 | 0 | vrais dont identifié comme faux | prévision ne correspond pas |
| 729 | 1 | 171.94 | 104.11 | 104.16 | 4.080000 | 3.35 | 111.76 | 0 | vrais dont identifié comme faux | prévision ne correspond pas |
Table des erreurs de mèthode k-means
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | cluster | |
|---|---|---|---|---|---|---|---|---|
| 1088 | 0 | 171.91 | 104.28 | 103.86 | 5.48 | 3.37 | 113.13 | 1 |
| 1326 | 0 | 171.83 | 104.39 | 104.17 | 5.51 | 3.33 | 113.64 | 1 |
| 1246 | 0 | 172.26 | 104.04 | 104.43 | 3.82 | 3.47 | 111.95 | 1 |
| 1079 | 0 | 172.21 | 104.40 | 104.28 | 5.28 | 3.42 | 112.99 | 1 |
| 592 | 1 | 171.67 | 103.81 | 103.76 | 4.59 | 3.30 | 112.18 | 0 |
| 729 | 1 | 171.94 | 104.11 | 104.16 | 4.08 | 3.35 | 111.76 | 0 |
| 1191 | 0 | 171.45 | 104.21 | 104.18 | 4.55 | 3.52 | 113.21 | 1 |
| 1224 | 0 | 172.24 | 104.31 | 104.66 | 4.20 | 3.61 | 112.37 | 1 |
| 1082 | 0 | 171.82 | 103.90 | 103.67 | 4.79 | 3.36 | 112.43 | 1 |
| 1342 | 0 | 171.94 | 104.21 | 104.10 | 4.28 | 3.47 | 112.23 | 1 |
| 1408 | 0 | 172.02 | 103.99 | 104.28 | 4.22 | 2.98 | 112.42 | 1 |
| 1074 | 0 | 172.13 | 103.67 | 103.82 | 4.27 | 3.22 | 112.15 | 1 |
| 1123 | 0 | 172.09 | 104.15 | 104.17 | 4.15 | 3.40 | 113.85 | 1 |
Les billets mal identifiés dans toutes les deux mèthodes
~0,03 % de billets sont mal identifiés par
application de deux méthodes ensemble.
Ainsi, on peut constater que
les paramètres géométriques de cette classe de billets ne sont pas
suffisants pour déterminer la nature de ces billets.
| row_names | diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|---|
| 1074 | 172.13 | 103.67 | 103.82 | 4.27 | 3.22 | 112.15 |
| 1123 | 172.09 | 104.15 | 104.17 | 4.15 | 3.40 | 113.85 |
| 1191 | 171.45 | 104.21 | 104.18 | 4.55 | 3.52 | 113.21 |
| 1408 | 172.02 | 103.99 | 104.28 | 4.22 | 2.98 | 112.42 |
| 592 | 171.67 | 103.81 | 103.76 | 4.59 | 3.30 | 112.18 |
| 729 | 171.94 | 104.11 | 104.16 | 4.08 | 3.35 | 111.76 |
Proportion de la reussité et d’erreur de la méthode de la régression logistique:
| Var1 | Freq |
|---|---|
| vrais dont identifié comme faux | 0.003 |
| faux dont identifié comme vrais | 0.004 |
| juste | 0.993 |
Proportion de la reussité et d’erreur de la méthode k-means:
| Var1 | Freq |
|---|---|
| faux identifié dans le cluster des vrais | 0.010 |
| juste | 0.988 |
| vrai identifié dans le cluster des faux | 0.002 |
1. L’efficacité de la méthode de régression logistique est supérieure à celle de la méthode de clustering k-means: 99,3 % d’efficacité contre 98,8 %.
2. Nous allons généraliser notre modèle de la régression logistique (partie testing) et l’utiliser pour la construction d’algorithme de détection des faux billets.
3. Parmi 1125 billets du dataframe d’entrainement 6 billets sont mal identifiés par l’application de tous les deux méthodes de détection des faux billets.
Cela fait 0,05 % des billets examinés.
Ainsi, on peut constater que les paramètres géométriques fournis ne sont pas suffisants pour déterminer la nature au minimum de 0,05% de billets distribués.
La généralisation désigne la capacité du modèle à pouvoir
effectuer des prédictions robustes sur des nouvelles données.
En
effet, la généralisation du modèle représente sa capacité, une fois
entraîné, à effectuer des prédictions sur des données qu’il n’a jamais
vues ; d’où la création d’un testing set pour évaluer cette
capacité.
L’équilibre entre over- et underfitting est encore une
composante à prendre en compte lors du choix et lors de l’entraînement
du modèle.
L’over- ou l’underfitting se détecte grâce aux données test
qu’on peut utiliser pour mesurer l’erreur du modèle, contrairement aux
données d’entraînement qui pervertissent cette mesure.
Source:https://openclassrooms.com/fr/courses/4011851-initiez-vous-au-machine-learning
Dans cette partie on va appliquer la mèthode de la régression
logistique aux 25 % de jeu de données fourni dont
étaient résérvés à la vérification de la fonctionnement de nos
métodes.
Ainsi on peut on compare cette application avec
l’entrainement éffectué en vue de vérifier notre travail .
Les premières lignes du data_test
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| 3 | 1 | 172.69 | 104.48 | 103.50 | 4.40 | 2.94 | 113.16 |
| 14 | 1 | 172.20 | 104.35 | 103.67 | 4.44 | 3.38 | 113.65 |
| 15 | 1 | 172.06 | 103.87 | 103.83 | 4.09 | 2.92 | 113.19 |
| 21 | 1 | 171.87 | 103.91 | 103.96 | 3.74 | 2.97 | 113.59 |
| 22 | 1 | 171.82 | 103.65 | 103.64 | 4.25 | 2.80 | 112.57 |
| 23 | 1 | 172.10 | 103.96 | 103.71 | 3.93 | 2.89 | 112.68 |
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|---|
| Min. :0.00 | Min. :171.2 | Min. :103.2 | Min. :103.1 | Min. :3.320 | Min. :2.560 | Min. :110.4 | |
| 1st Qu.:0.00 | 1st Qu.:171.8 | 1st Qu.:103.8 | 1st Qu.:103.7 | 1st Qu.:4.000 | 1st Qu.:2.960 | 1st Qu.:112.1 | |
| Median :1.00 | Median :171.9 | Median :104.0 | Median :103.9 | Median :4.290 | Median :3.120 | Median :113.0 | |
| Mean :0.68 | Mean :172.0 | Mean :104.0 | Mean :103.9 | Mean :4.448 | Mean :3.136 | Mean :112.7 | |
| 3rd Qu.:1.00 | 3rd Qu.:172.2 | 3rd Qu.:104.3 | 3rd Qu.:104.2 | 3rd Qu.:4.790 | 3rd Qu.:3.310 | 3rd Qu.:113.4 | |
| Max. :1.00 | Max. :172.9 | Max. :104.9 | Max. :105.0 | Max. :6.290 | Max. :3.810 | Max. :114.4 |
On applique notre modèle au jeu d’entrainement afin d’avoir une prevision de la nature des billets: 1 = Vrais , 0 = FauxApplication de la prévision
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | prediction | |
|---|---|---|---|---|---|---|---|---|
| 3 | 1 | 172.69 | 104.48 | 103.50 | 4.40 | 2.94 | 113.16 | 1 |
| 14 | 1 | 172.20 | 104.35 | 103.67 | 4.44 | 3.38 | 113.65 | 1 |
| 15 | 1 | 172.06 | 103.87 | 103.83 | 4.09 | 2.92 | 113.19 | 1 |
| 21 | 1 | 171.87 | 103.91 | 103.96 | 3.74 | 2.97 | 113.59 | 1 |
| 22 | 1 | 171.82 | 103.65 | 103.64 | 4.25 | 2.80 | 112.57 | 1 |
| 23 | 1 | 172.10 | 103.96 | 103.71 | 3.93 | 2.89 | 112.68 | 1 |
Comparaison du résultat de prévision avec la nature initiale de billets
On crée un tableau croisé des classes observées et prédites avec les
statistiques associées:
Sur le graphique on a présenté les billets vrais par couleur bleu, les billets faux par violet et les billets mal-identifiés par couleur rouge.
## Confusion Matrix and Statistics
##
##
## prediction_lr 0 1
## 0 114 0
## 1 6 255
##
## Accuracy : 0.984
## 95% CI : (0.9655, 0.9941)
## No Information Rate : 0.68
## P-Value [Acc > NIR] : < 2e-16
##
## Kappa : 0.9627
##
## Mcnemar's Test P-Value : 0.04123
##
## Sensitivity : 0.950
## Specificity : 1.000
## Pos Pred Value : 1.000
## Neg Pred Value : 0.977
## Prevalence : 0.320
## Detection Rate : 0.304
## Detection Prevalence : 0.304
## Balanced Accuracy : 0.975
##
## 'Positive' Class : 0
##
Proportionnalité des erreurs et visualisation des billets mal identifiés
| is_genuine | diagonal | height_left | height_right | margin_low | margin_up | length | prediction | vf | |
|---|---|---|---|---|---|---|---|---|---|
| 1026 | 0 | 172.17 | 104.20 | 104.13 | 3.86 | 3.38 | 112.44 | 1 | faux identifié comme vrais |
| 1084 | 0 | 171.85 | 103.60 | 103.82 | 4.60 | 3.21 | 112.50 | 1 | faux identifié comme vrais |
| 1104 | 0 | 171.88 | 104.05 | 103.75 | 4.41 | 3.21 | 112.52 | 1 | faux identifié comme vrais |
| 1161 | 0 | 172.39 | 104.05 | 104.32 | 4.13 | 3.41 | 112.66 | 1 | faux identifié comme vrais |
| 1282 | 0 | 171.62 | 104.53 | 103.64 | 4.89 | 3.16 | 112.54 | 1 | faux identifié comme vrais |
| 1413 | 0 | 172.25 | 103.94 | 103.68 | 4.14 | 3.25 | 112.48 | 1 | faux identifié comme vrais |
On a obtenu 6 billets mal- identifiés ce que
correspond au 1.6 % d’erreurs.
Cette valeur est
différente de celle dont on a déterminé avant mais c’est tout à fait
normal pour le testing en accord avec la taille d’échantillon du
test.
| Var1 | Freq |
|---|---|
| prévision correspond | 0.984 |
| prévision ne correspond pas | 0.016 |
| Faux_billets_par_prediction | Vrais_billets_par_prediction | |
|---|---|---|
| Faux_billets | 114 | 6 |
| Vrais_billets | 0 | 255 |
| Var1 | Freq |
|---|---|
| faux identifié comme vrais | 0.016 |
| juste | 0.984 |
| diagonal | height_left | height_right | margin_low | margin_up | length | vf | |
|---|---|---|---|---|---|---|---|
| 1026 | 172.17 | 104.20 | 104.13 | 3.86 | 3.38 | 112.44 | faux identifié comme vrais |
| 1084 | 171.85 | 103.60 | 103.82 | 4.60 | 3.21 | 112.50 | faux identifié comme vrais |
| 1104 | 171.88 | 104.05 | 103.75 | 4.41 | 3.21 | 112.52 | faux identifié comme vrais |
| 1161 | 172.39 | 104.05 | 104.32 | 4.13 | 3.41 | 112.66 | faux identifié comme vrais |
| 1282 | 171.62 | 104.53 | 103.64 | 4.89 | 3.16 | 112.54 | faux identifié comme vrais |
| 1413 | 172.25 | 103.94 | 103.68 | 4.14 | 3.25 | 112.48 | faux identifié comme vrais |
Affichage des premières lignes du jeu de données :
| diagonal | height_left | height_right | margin_low | margin_up | length | id |
|---|---|---|---|---|---|---|
| 171.76 | 104.01 | 103.54 | 5.21 | 3.3 | 111.42 | A_1 |
| 171.87 | 104.17 | 104.13 | 6.0 | 3.31 | 112.09 | A_2 |
| 172.0 | 104.58 | 104.29 | 4.99 | 3.39 | 111.57 | A_3 |
| 172.49 | 104.55 | 104.34 | 4.44 | 3.03 | 113.2 | A_4 |
| 171.65 | 103.63 | 103.56 | 3.77 | 3.16 | 113.33 | A_5 |
## diagonal height_left height_right margin_low margin_up length
## 1 171.76 104.01 103.54 5.21 3.3 111.42
## 2 171.87 104.17 104.13 6.0 3.31 112.09
## 3 172.0 104.58 104.29 4.99 3.39 111.57
## 4 172.49 104.55 104.34 4.44 3.03 113.2
## 5 171.65 103.63 103.56 3.77 3.16 113.33
## diagonal height_left height_right margin_low margin_up length
## 1 171.76 104.01 103.54 5.21 3.30 111.42
## 2 171.87 104.17 104.13 6.00 3.31 112.09
## 3 172.00 104.58 104.29 4.99 3.39 111.57
## 4 172.49 104.55 104.34 4.44 3.03 113.20
## 5 171.65 103.63 103.56 3.77 3.16 113.33
Les billets identifiés comme faux
| diagonal | height_left | height_right | margin_low | margin_up | length |
|---|---|---|---|---|---|
| 171.76 | 104.01 | 103.54 | 5.21 | 3.30 | 111.42 |
| 171.87 | 104.17 | 104.13 | 6.00 | 3.31 | 112.09 |
| 172.00 | 104.58 | 104.29 | 4.99 | 3.39 | 111.57 |
| diagonal | height_left | height_right | margin_low | margin_up | length | |
|---|---|---|---|---|---|---|
| Min. :171.8 | Min. :104.0 | Min. :103.5 | Min. :4.990 | Min. :3.300 | Min. :111.4 | |
| 1st Qu.:171.8 | 1st Qu.:104.1 | 1st Qu.:103.8 | 1st Qu.:5.100 | 1st Qu.:3.305 | 1st Qu.:111.5 | |
| Median :171.9 | Median :104.2 | Median :104.1 | Median :5.210 | Median :3.310 | Median :111.6 | |
| Mean :171.9 | Mean :104.3 | Mean :104.0 | Mean :5.400 | Mean :3.333 | Mean :111.7 | |
| 3rd Qu.:171.9 | 3rd Qu.:104.4 | 3rd Qu.:104.2 | 3rd Qu.:5.605 | 3rd Qu.:3.350 | 3rd Qu.:111.8 | |
| Max. :172.0 | Max. :104.6 | Max. :104.3 | Max. :6.000 | Max. :3.390 | Max. :112.1 |
Précisions
Biais de détecttion de faux billets = 0,7 %